a7b595aef65c84593712197164be7bffde47f7a7,plugins/org.eclipse.xtext.common.types/src/org/eclipse/xtext/common/types/access/impl/DeclaredTypeFactory.java,DeclaredTypeFactory,createAnnotationValue,#Object#Class#,223
Before Change
result.eSet(result.eClass().getEStructuralFeature("values"), Collections.singleton(reference));
} else if (type.isAnnotation()) {
Annotation nestedAnnotation = (Annotation) value;
((JvmAnnotationAnnotationValue) result).getValues().add(createAnnotationReference(nestedAnnotation));
} else if (type.isEnum()) {
Enum<?> e = (Enum<?>) value;
JvmEnumerationLiteral proxy = createEnumLiteralProxy(e);
After Change
protected JvmAnnotationValue createAnnotationValue(Object value, Class<?> type) {
EStructuralFeature.Setting result = createAnnotationValue(type);
@SuppressWarnings("unchecked")
InternalEList<Object> values = (InternalEList<Object>)result;
if (type.isPrimitive() || String.class == type) {
values.addUnique(value);
} else if (type == Class.class) {
Class<?> referencedClass = (Class<?>) value;
JvmTypeReference reference = createTypeReference(referencedClass);
values.addUnique(reference);
} else if (type.isAnnotation()) {
Annotation nestedAnnotation = (Annotation) value;
values.addUnique(createAnnotationReference(nestedAnnotation));
} else if (type.isEnum()) {
Enum<?> e = (Enum<?>) value;
JvmEnumerationLiteral proxy = createEnumLiteralProxy(e);